草庐IT

git merge squash 和反复出现的冲突

全部标签

c++ - 无法追踪访问冲突 0xC00000FD

我使用VS2008,我的MFC应用程序在设置断点或运行到光标时开始崩溃。我收到很多这样的错误:-First-chanceexceptionat0x78a5727c(mfc90ud.dll)inMyApp.exe:0xC0000005:Accessviolationreadinglocation0xfffffffc.First-chanceexceptionat0x00000000inMyApp.exe:0xC0000005:Accessviolationreadinglocation0x00000000.First-chanceexceptionat0x00000000inMyApp.

c++ - 枚举值与枚举名称冲突

让我们采用我最近在项目中某处找到的代码构造:namespaceTest{enumEName{CoolEnum,NiceEnum};enumCoolEnum{CoolVal1,CoolVal2};enumNiceEnum{NiceVal1,NiceVal2};}我的问题是为什么编译器允许这样的事情。让我们在这里看一个代码示例:Test::CoolEnumcEnum=Test::NiceVal1;//INVALID,ascompilerreferstoTest::CoolEnumvalueofTest::Enameenum为什么允许这样的混淆?我明白为什么我必须在enum关键字前面加上,所

c++ - 程序中出现错误 '#'

我想根据是否使用-std=c++0x来定义一个宏。如果我尝试下面的宏,我会遇到错误errorstray'#'inprogram。下面的代码是否不正确/是否允许C++在#define中使用预处理器#if/#endif?#defineDEF_ME(p)\#if__GXX_EXPERIMENTAL_CXX0X__\#endif我在Linux中使用g++4.4.7。 最佳答案 Isthecodebelowincorrect/isitallowedC++tousepreprocessor#if/#endifwithina#define?不,那

c++ -::运算符能否出现在与限定名称查找中的范围解析不同的上下文中?

作为用于限定名称查找目的的已知范围解析运算符。但是::返回的值是什么?据我了解,它是后缀一元运算符。请考虑以下事项:namespaceA{//something}A:://error:expectedunqualified-idbefore‘int’intmain(){}你能解释一下这种行为吗? 最佳答案 范围解析运算符::只是一个语法运算符,没有其他语义。也就是说,有些运算符只对语言的语法有贡献,而其他运算符也对程序的语义/运行时行为有贡献,并且可以自定义语义。这就是运算符重载。 关于

c++ - 当没有 float 数据类型时,为什么这段代码会出现浮点异常?

我没有除以零并且我的代码中没有float据类型,我仍然得到浮点异常。#include#include#include#include#includeusingnamespacestd;intmain(){unsignedlonglongintt,n;cin>>t;while(t--){cin>>n;unsignedlonglongintdeno=pow(10,n-1),count=2,sum=0,f1=1,f2=1;while(1){sum=f1+f2;f1=f2;f2=sum;count++;if((int)(sum/deno)>0){cout所有之前关于相同的问题都有类似的除以零的

c++ - 查找 vector 中出现次数最多的数字

我在std::vector中存储了一些数字.我想找出vector中出现次数最多的数字。例如在vector中1343421323出现次数最多的元素是3.是否有任何算法(STL或其他算法)可以做到这一点? 最佳答案 对其进行排序,然后遍历它并保留一个计数器,当当前数字与前一个数字相同时递增,否则重置为0。还要跟踪到目前为止计数器的最高值是多少,以及达到该值时的当前数字是多少。这个解决方案是O(nlogn)(因为排序)。或者,您可以使用从int到int的HashMap(或者如果您知道数字在有限范围内,您可以只使用数组)并迭代vector,

c++ - 析构函数后出现段错误

我正在制作一个小文件读取和数据验证程序,作为我的TAFE(一所大学)类(class)的一部分,这包括检查和验证日期。我决定最好用一个单独的类来完成,而不是将它集成到我的主驱动程序类中。问题是在我的测试程序运行后出现段错误(核心已转储)。据我所知,错误发生在程序终止时,在调用析构函数后弹出。到目前为止,我还没有找到这个错误的原因,并希望一些开明的灵魂可以告诉我我的方法的错误。日期.h#ifndefDATE_H#defineDATE_H#includeusingstd::string;#includeusingstd::stringstream;#includeusingstd::exit

c++ - 为什么这个乘法会出现整数溢出?

这个问题在这里已经有了答案:Whydoeslonglongn=2000*2000*2000*2000;overflow?(6个答案)关闭去年。我对这段代码感到困惑:#include#includeintmain(void){usingnamespacestd;cout我本以为应该是2147483648,但我得到了。使用unsigned似乎没有帮助。什么给了?longmax92233720368547758072*1024*1024*1024=-2147483648

c++ - 使用 alloca 时发生访问冲突

我的stackAlloc函数如下所示:void*stackAlloc(size_tsize){if(size>maxStackAllocation)returnmalloc(size);elsereturn_alloca(size);}voidstackAllocFree(void*ptr,size_tsize){if(size>maxStackAllocation){free(ptr);}}如果我改变stackAlloc函数总是使用malloc而不是alloca一切正常。我将函数更改为宏,现在它按预期工作:#definemaxStackAllocation1024#definesta

c++ - 为什么此代码使用带字符串的映射 (C++) 会出现运行时错误?

为什么这段代码会出现运行时错误?#include#include#include#includeusingnamespacestd;mapA;map::iteratorit;intmain(){A[5]="yes";A[7]="no";it=A.lower_bound(5);cout如果你使用cout,它工作正常;但是,如果您使用printf,则会出现运行时错误。我该如何纠正它?谢谢! 最佳答案 您正在将std::string传递给需要char*的内容(正如您在printf上的文档中看到的那样)>,这是一个C函数,没有类,更不用说s